// License: http://www.codeplex.com/entlibcontrib/Project/License.aspx
// Author: Randy

using System;
using System.Runtime.Serialization;

namespace EntLibContrib.Logging.Parser
{
    /// <summary>
    /// Trace listener not found in the category that implements 
    /// <see cref="EntLibContrib.Logging.Configuration.IFileTraceListenerData"/>.
    /// Exceptions are made serialisable, so they can cross remoting and application domain boundaries.
    /// </summary>
    [Serializable]
    public class LoggingFileTraceListenerNotFoundException : Exception, ISerializable
    {
        /// <summary>
        /// Contructor to initialize a new instance.
        /// </summary>
		public LoggingFileTraceListenerNotFoundException() { }
        /// <summary>
        /// Contructor to initialize a new instance with a specific error message.
        /// </summary>
        /// <param name="message">The message that describes the error.</param>
		public LoggingFileTraceListenerNotFoundException(string message) : base(message) { }
        /// <summary>
        /// Contructor to initialize a new instance with a specific error message and a reference to the inner exception that is the cause of this exception.
        /// </summary>
        /// <param name="message"></param>
        /// <param name="inner"></param>
		public LoggingFileTraceListenerNotFoundException(string message, Exception inner) : base(message, inner) { }
        /// <summary>
        /// Contructor to initialize a new instance for serialization.
        /// </summary>
        /// <param name="info">The <see cref="SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
        /// <param name="context">The <see cref="StreamingContext"/> that contains contextual information about the source or destination.</param>
		protected LoggingFileTraceListenerNotFoundException(SerializationInfo info, StreamingContext context) : base(info, context) { }
	}
}
